1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.purple.mediamanager; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.glist; 34 import derelict.purple.media; 35 import derelict.purple.account; 36 import derelict.purple.enum_types; 37 38 extern (C): 39 40 alias _PurpleMediaManager PurpleMediaManager; 41 alias _PurpleMediaManagerClass PurpleMediaManagerClass; 42 43 struct _PurpleMediaManager; 44 45 46 struct _PurpleMediaManagerClass; 47 48 49 version(Derelict_Link_Static) 50 { 51 extern( C ) nothrow 52 { 53 GType purple_media_manager_get_type(); 54 PurpleMediaManager* purple_media_manager_get(); 55 PurpleMedia* purple_media_manager_create_media(PurpleMediaManager* manager, PurpleAccount* account, const(char)* conference_type, const(char)* remote_user, gboolean initiator); 56 GList* purple_media_manager_get_media(PurpleMediaManager* manager); 57 GList* purple_media_manager_get_media_by_account(PurpleMediaManager* manager, PurpleAccount* account); 58 void purple_media_manager_remove_media(PurpleMediaManager* manager, PurpleMedia* media); 59 gboolean purple_media_manager_create_output_window(PurpleMediaManager* manager, PurpleMedia* media, const(gchar)* session_id, const(gchar)* participant); 60 gulong purple_media_manager_set_output_window(PurpleMediaManager* manager, PurpleMedia* media, const(gchar)* session_id, const(gchar)* participant, gulong window_id); 61 gboolean purple_media_manager_remove_output_window(PurpleMediaManager* manager, gulong output_window_id); 62 void purple_media_manager_remove_output_windows(PurpleMediaManager* manager, PurpleMedia* media, const(gchar)* session_id, const(gchar)* participant); 63 void purple_media_manager_set_ui_caps(PurpleMediaManager* manager, PurpleMediaCaps caps); 64 PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager* manager); 65 void purple_media_manager_set_backend_type(PurpleMediaManager* manager, GType backend_type); 66 GType purple_media_manager_get_backend_type(PurpleMediaManager* manager); 67 } 68 } 69 else 70 { 71 extern( C ) nothrow 72 { 73 alias da_purple_media_manager_get_type = GType function(); 74 alias da_purple_media_manager_get = PurpleMediaManager* function(); 75 alias da_purple_media_manager_create_media = PurpleMedia* function(PurpleMediaManager* manager, PurpleAccount* account, const(char)* conference_type, const(char)* remote_user, gboolean initiator); 76 alias da_purple_media_manager_get_media = GList* function(PurpleMediaManager* manager); 77 alias da_purple_media_manager_get_media_by_account = GList* function(PurpleMediaManager* manager, PurpleAccount* account); 78 alias da_purple_media_manager_remove_media = void function(PurpleMediaManager* manager, PurpleMedia* media); 79 alias da_purple_media_manager_create_output_window = gboolean function(PurpleMediaManager* manager, PurpleMedia* media, const(gchar)* session_id, const(gchar)* participant); 80 alias da_purple_media_manager_set_output_window = gulong function(PurpleMediaManager* manager, PurpleMedia* media, const(gchar)* session_id, const(gchar)* participant, gulong window_id); 81 alias da_purple_media_manager_remove_output_window = gboolean function(PurpleMediaManager* manager, gulong output_window_id); 82 alias da_purple_media_manager_remove_output_windows = void function(PurpleMediaManager* manager, PurpleMedia* media, const(gchar)* session_id, const(gchar)* participant); 83 alias da_purple_media_manager_set_ui_caps = void function(PurpleMediaManager* manager, PurpleMediaCaps caps); 84 alias da_purple_media_manager_get_ui_caps = PurpleMediaCaps function(PurpleMediaManager* manager); 85 alias da_purple_media_manager_set_backend_type = void function(PurpleMediaManager* manager, GType backend_type); 86 alias da_purple_media_manager_get_backend_type = GType function(PurpleMediaManager* manager); 87 } 88 89 __gshared 90 { 91 da_purple_media_manager_get_type purple_media_manager_get_type; 92 da_purple_media_manager_get purple_media_manager_get; 93 da_purple_media_manager_create_media purple_media_manager_create_media; 94 da_purple_media_manager_get_media purple_media_manager_get_media; 95 da_purple_media_manager_get_media_by_account purple_media_manager_get_media_by_account; 96 da_purple_media_manager_remove_media purple_media_manager_remove_media; 97 da_purple_media_manager_create_output_window purple_media_manager_create_output_window; 98 da_purple_media_manager_set_output_window purple_media_manager_set_output_window; 99 da_purple_media_manager_remove_output_window purple_media_manager_remove_output_window; 100 da_purple_media_manager_remove_output_windows purple_media_manager_remove_output_windows; 101 da_purple_media_manager_set_ui_caps purple_media_manager_set_ui_caps; 102 da_purple_media_manager_get_ui_caps purple_media_manager_get_ui_caps; 103 da_purple_media_manager_set_backend_type purple_media_manager_set_backend_type; 104 da_purple_media_manager_get_backend_type purple_media_manager_get_backend_type; 105 } 106 }